VC的问题"数据的后退"

来源:百度知道 编辑:UC知道 时间:2024/07/07 05:47:32
假设:
int a,b,c,d,e;
void set(int t){...}//会对t进行改变.
通过set()函数对, a,b,c,d,e,5个变量(不一定是哪一个)进行改变.
现在我想实现了一个"后退"功能:可以把它们变回经set()函数改变前的数据.

我感觉用两个栈,应该可以实现吧...
如果一个用来存储变量名,一个用来存储该变量经set()改变前的数据,退后的时候,直把数据覆盖就可以了.

可是,有存储变量名这样的栈吗?
每个变量的,变化都是连续的,多次的.
六字,您的方法只实现了一次,昨天我想到,用指针栈来存变量的地址,另一个栈来存变化前的值,通过这两个栈,就可以实现了吧.我是这样设想的,还没有试验.
希望大家多提意见!

void set(int t)只有一个参数,无法指定你要修改哪个变量
最好是定义一个类(或结构)
class Integer {
private:
int current;
int last;
public:
Integer(int n){
current = n;
last = n;
}

int get(){return current;}

void set(int n){
last = current;
current = n;
}

void back() {
current = last;
}
}

Integer a, b, c, d, e;

要用的时候直接
a.set(t)
a.back()
就可以了